package com.scalar.chiptrack.adaptor.utils;

import java.util.LinkedList;
import java.util.Date;
import java.util.List;

/**
 * User: sujan
 * Date: Dec 9, 2008
 * Time: 3:40:42 PM
 */
public interface ParserResult
{
    public LinkedList getHeadings();
    public boolean next();
    public void reset();
    public String getString ( String colName );
    public String getString( int colIdx );
    public int getInt ( String colName );
    public int getInt ( int colIdx );
    public double getDouble ( String colName );
    public double getDouble ( int colIdx );
    public Date getDate ( String colName );
    public Date getDate ( int colIdx );
    public Date getDate ( int colIdx, String inputFormat );
    public Date getDate ( String colName, String inputFormat );
    public String getContents ( String colName );
    public String getContents( int colIdx );
    public Object getObject( String colName );
    public Object getObject( int colIdx );
    public int getRowCount();
    public int getFileRowIdx();
    int getIndexOf ( String headingName );
    public void moveTo(int rowIdx);
    public int getColumnCount();

    /**
     * To check whether required heading fields available or not in the sheet.
     * @param requiredHeadings
     * @return returns the List of required fields which or not available<br>
     * If all available then NULL will be returned.
     */
    public List checkRequiredFieldsAvailable( List requiredHeadings );
}
